package com.platform.comm.enums;

import com.google.common.collect.Lists;

import java.util.List;
import java.util.Map;

/**
 * @author liujizheng
 * @version 1.0
 * @ClassName IEnumOption
 * @Description option枚举
 * @date 2021/7/7 13:49
 */
public interface IEnumOption<V> {

    /**
     * 枚举项 “键”
     *
     * @return key 键
     */
    String key();

    /**
     * 枚举项 “值”
     *
     * @return value 值
     */
    V value();

    /**
     * 枚举options
     *
     * @return 枚举项组成的map
     */
    Map<String, V> enums();

    default public List<Map<String, V>> enumsList() {
        return Lists.newArrayList();
    }
}
